from builtins import print as _print
from sys import _getframe


# 自定义print函数 方便输出时候带上行号
def print(*arg, **kw):
	s = f'第{_getframe(1).f_lineno}行：'  # 注此处需加参数 1。
	return _print(s, *arg, **kw)


# ### 字符串相关操作
# (1)字符串的拼接 +
str1 = "赵沈阳,"
str2 = "so strong"
res = str1 + str2
res = "赵沈阳," + "so strong"
print(res)

# res = res + ",旁边的同学很喜欢他~"
res += ",旁边的同学很喜欢他~"
print(res)

# (2)字符串的重复 *
strvar = "重要的事情说三遍~"
res = strvar * 3
print(res)

# (3)字符串跨行拼接 \
str1 = "kskfjskjfklsjfklasdjklfjaskldjfaskljfklasjdfklasjdklfjaskldfjaskldjflasjfsf" \
       "1122334"
print(str1)

# (4)字符串的索引
#          0 1 2 3 4 5
strvar = "赵世超真帅呀"
#         -6-5-4-3-2-1
print(strvar[1])

# (5)字符串的切片: (截取)
"""
语法 => 字符串[::]  完整格式：[开始索引:结束索引:间隔值]
	(1)[开始索引:]  从开始索引截取到字符串的最后
	(2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
	(3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
	(4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取字符
	(5)[:]或[::]  截取所有字符串
"""
strvar = "王文是这个宇宙当中,最完美,无暇,善良,漂亮,英俊,帅气,潇洒,风流倜傥的神秘男孩"
# (1)[开始索引:]  从开始索引截取到字符串的最后
res = strvar[3:]
print(res)

# (2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
"""5这个最大值本身获取不到,要获取到5之前的那一个数据 : 取头舍尾"""
res = strvar[:5]
print(res)

# (3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
res = strvar[10:16]
print(res)

# (4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取字符

# 从左向右截取
res = strvar[::3]
# 0 3 6 9 12 15 ...
print(res)

# 从右向左截取
res = strvar[::-1]
# -1 -2 -3 -4 -5 -6 ....
print(res)

res = strvar[-3:-10:-2]
# -3 -5 -7 -9   秘的倜风
print(res)

print("<====>")
"""从左到右截,间隔值为正值,反过来,间隔值是负值,才能保证截取到数据"""

res = strvar[-3:-10:10] # 错误的逻辑
print(res)
res = strvar[1:10]
print(res)

